﻿using CommunityToolkit.Mvvm.ComponentModel;

namespace Koala.Pro.Helpers
{
    public partial class BaseTreeNode<T> : ObservableObject where T : class
    {
        [ObservableProperty]
        private string id = string.Empty;

        [ObservableProperty]
        private string name = string.Empty;

        [ObservableProperty]
        private string note = string.Empty;

        [ObservableProperty]
        private object tag;

        [ObservableProperty]
        private object tag2;

        [ObservableProperty]
        private List<T> children = new List<T>();

        [ObservableProperty]
        private bool? isChecked = false;

        [ObservableProperty]
        private string icon = string.Empty;

        [ObservableProperty]
        private bool? isExpanded = false;

        [ObservableProperty]
        private bool canAcceptChildren;
    }
}
